This invention relates to methods for maintaining the performance of memory systems until end-of-life, in particular nonvolatile memory systems that include a memory controller.
Memory systems generally include multiple components which are in communication with each other and perform different functions as part of an overall system. One example of such a memory system is a nonvolatile memory system. Nonvolatile memory systems are used in various applications. Some nonvolatile memory systems are embedded in a larger system such as a personal computer. Other nonvolatile memory systems are removably connected to a host system and may be interchanged between different host systems. Examples of such removable memory systems (removable memory units) include memory cards and USB flash drives. Electronic circuit cards, including non-volatile memory cards, have been commercially implemented according to a number of well-known standards. Memory cards are used with personal computers, cellular telephones, personal digital assistants (PDAs), digital still cameras, digital movie cameras, portable audio players and other host electronic devices for the storage of large amounts of data. Such cards usually contain a re-programmable non-volatile semiconductor memory cell array along with a controller that controls and supports operation of the memory cell array and interfaces with a host to which the card is connected. Memory card standards include PC Card, CompactFlash™ card (CF™ card), SmartMedia™ card, MultiMediaCard (MMC™), Secure Digital (SD) card, a miniSD™ card, microSD™ card, Memory Stick™, Memory Stick Duo card and microSD/TransFlash™ memory module standards to name a few. There are several USB flash drive products commercially available from SanDisk Corporation under its trademark “Cruzer®.” Other examples of removable memory units include Solid State Drives (SSDs), e.g. using SATA, PCle, ExpressCard or similar standards. SSDs use solid state memory systems in applications where Hard Disk Drives have traditionally been used, such as in laptop computers.
In many memory systems, degradation occurs with use over time, which prevents the memory system from maintaining its performance levels to its end-of-life. Degradation of the memory contributes to an increase of memory errors, which in turn leads to longer overall transfer times due in part to latency in transfers as more errors are detected and require correction.